home *** CD-ROM | disk | FTP | other *** search
/ PC Shareware 1997 March / PC Shareware 1997-03.iso / programy / karakoe / _karhelp.txt next >
Text File  |  1996-06-29  |  22KB  |  385 lines

  1. ******** Mark Feaver's Standard Midi and Karaoke File Player *********
  2.  
  3. Temporary program information and instruction until a standard Windows
  4. Help file is created.  This file last updated 6-30-96.
  5.  
  6. System requirements to run the program:  Windows 3.1/3.11 or Win95.
  7. A 386 or better processor, the faster the better.  An old 386x20 mhz
  8. is really too slow!  Runs great on a 486DX2-66 or better!  An external
  9. midi port or internal card capable of General Midi.  256 colors needed.
  10. Screen resolution should be 640x480, but it will run in 800x600.  The
  11. keyboards will have an extra octave+ of notes, but will be smaller and
  12. more difficult to see unless you have a large screen monitor!
  13.  
  14. Required files in the program's directory:
  15.  
  16.   _SMFKAR4.EXE     The program itself.
  17.   _SMFKAR4.INI     INI file remembers user settings and midi device.
  18.   _SMFKAR4.TXT     This pseudo help file (not required to run program).
  19.   DEFAULT.CFG      Binary file which has Voice Names & Variations.
  20.   MIDISYS.DLL      DLL copyright by Paul Messick which handles Midi.
  21.                    See the About... dialog under the Help Menu item.
  22.                    This file should be in Windows\System directory,
  23.                    but may work from the programs directory.
  24.   CTL3D.DLL        A current version of DLL for 3D Dialogs.  Earlier
  25.                    versions will not work.  Usually put in Windows
  26.                    System directory.  Sorry, no installation program.
  27.   CTL3DXXX.JNK     If this 'dummy' file is present, the program will
  28.                    not use the 3D dialogs.  If the version of CTL3D.DLL
  29.                    supplied is not used, dialogs may not appear.  This
  30.                    file prevents that.  Delete or rename it if it is
  31.                    not needed and 3D dialogs work OK for you.
  32.  
  33. This is a very early release beta demo version offered for your fun
  34. and amusement.  It is not entirely 'bug' free, and is not the finished
  35. product.  I am not a developer, only a hobbiest midi nut and programmer.
  36.  
  37. ************************************************************************
  38.  
  39. The program plays Standard Midi and Karaoke song files of either format
  40. 0 or format 1.  Other than commercial programs, it is the only one that
  41. I know that handles format 0 Karaoke files.  It will display four piano
  42. keyboards, each handling 4 midi channels.  The notes being played will
  43. show as colored boxes on the keyboard associated with the midi channel
  44. (not track!) that the notes are sounding from.  When notes overlap (play
  45. the same note), the last ones played will overwrite the first ones.  This
  46. is not a bug.  The Drum channel (10) is NOT displayed intentionally.
  47. When notes play beyond the octave range of the keyboards, they will loop
  48. back on the keyboard.  This might be confusing, when it occurs, to 'hear'
  49. the pitch go up, and 'see' the note displayed lower than a previous one.
  50.  
  51. The channel numbering is from top to bottom keyboard so that each keyboard
  52. shows one of 4 adjacent channels.  The top keyboard shows channels: 1, 5,
  53. 9, and 13.  The second keyboard shows channels: 2, 6, 10 (drums), and 14.
  54. The third keyboard displays channels: 3, 7, 11, and 13.  Bottom keyboard
  55. shows channels: 4, 8, 12, and 16.  With this logic, a four part piece on
  56. channels 1 to 4 will show each part on its own keyboard.
  57.  
  58. Each midi channel has a unique color for its Voice Name box and the keys
  59. that are being played on that channel.  The position and color of a Voice
  60. Name box indicates what midi channel is being played.
  61.  
  62. When a program change (voice select) is sent on any midi channel, its
  63. number and name will be displayed using the original Roland Sound Canvas
  64. names.  If a voice variation using the 'control 0' bank switching occurs,
  65. the correct voice name will be displayed and the black border around the
  66. box will change to white (no black border at all), to indicate that a
  67. variation is being used (such as the MT32 voices bank #127).  The program
  68. cannot recognize a 'second' drum channel which might be set up by some
  69. midi files.  Example: channel 11 shows a Trumpet #57 but is sounding
  70. drums (actually SFX) instead.  The note duration may be very short and
  71. too fast to be seen, except for an occasional flicker.
  72.  
  73. Note: there are several midi files around that use invalid 'control 0'
  74. data values (as far as a Roland Sound Canvas is concerned).  These may
  75. display white borders but show the default (base) voicename.  Also, the
  76. program doesn't know about the new variations available with the SC-88
  77. or its equivalents.  The voicenames are updated in real time as a song
  78. plays to always show what voices are currently playing.
  79.  
  80. If no Voice Name boxes show up, then no program changes were sent!  If
  81. the Voice Names themselves are missing (only the number shows), then
  82. the file DEFAULT.CFG is not in the programs directory.  Voice names are
  83. displayed in realtime as they are sent, so they may not all show up at
  84. the same time.  Depends on the construction of the midifile.  Some files
  85. have no program changes in them, but this is rare.
  86.  
  87. ************************************************************************
  88.  
  89. The Karaoke word logic will handle both format 0 and format 1 midi
  90. files of up to 64 tracks.  Any extra tracks will be ignored.  Some
  91. experimentation may be needed to find the best combination of options
  92. when using larger fonts for the Karaoke words.  Upgrades to the program
  93. will include added intelligence, but until then try the various options
  94. such as: 'Line=NewPage', 'Skip NewLines', 'Hyphenation', etc.
  95.  
  96. Full screen Karaoke mode is available which hides the Player Pianos.
  97. It is available only with the 'W' key (for Window).  If multi-playing
  98. files and one is not karaoke, the keyboards will return for that song,
  99. until the next Karaoke file is encountered.  Some Karaoke midi files
  100. are constructed with long paragraphs of many lines.  Using the 'W' key
  101. to open a full karaoke window usually allows these to display correctly
  102. without using the 'L' option to limit each page to one line.
  103.  
  104. You may change Fonts and Window Size while playing.  Program will try
  105. to display the words within the window size you select.  Later releases
  106. will clean up some of the minor bugs with word display.  Words are allowed
  107. to draw off bottom of screen if Font is too large for the area, or there
  108. are too many lines (as mentioned above).  Try the 'W' key to see all the
  109. text and/or the 'L' key to limit display to one line (instead of a
  110. paragraph of 2 or more lines).  Try the 'H' and 'N' keys to hyphenate or
  111. concatenate words also.  See description of Hot Keys below.
  112.  
  113. If you adjust window sizing during Karaoke Play, and happen to catch the
  114. moment when it is updating to the next page, you may get garbled words
  115. and lines.  Either resize or click the Maximize Window Button a time or
  116. two to force a redraw.  Pressing any Karaoke format key will also cause
  117. a redraw (N, L, K for instance).
  118.  
  119. ************************************************************************
  120.  
  121. Midi files are loaded and played as-is.  They are not converted to a
  122. special internal format.  If they are defective, ie., chopped off at
  123. the end (from Internet travel?), or not constructed correctly, the
  124. file will not play, and a message box will indicate the error.  Some
  125. errors that are detected:  Not a Midi File (uue or zip?),  Can't find
  126. a track (chopped off?),  Track Lengths not correct,  Missing End of
  127. Track bytes, etc.  These will have to be repaired in another program.
  128.  
  129. If a defective file is encountered, the message box displays some info
  130. about the defect and if multi-play is going (jukebox mode), there will
  131. be two buttons 'OK and CANCEL'.  Selecting OK will continue on to the
  132. next song.  Selecting CANCEL will exit multiplay mode if you desire.
  133. If a single file is being loaded (non multiplay), only a single button
  134. is displayed to acknowledge the error.
  135.  
  136. Later versions of the program may include the ability to manage midi
  137. files as they are found 'defective'.  Ideas include deleting or moving
  138. selected file to a special user defined directory (for bad files etc.).
  139. I have been simply ALT+TABing to File Manager and moving them manually.
  140.  
  141.   Note:  Most other sequencer programs throw away Karaoke words and
  142.   convert files to an internal format, which often destroys the good
  143.   'sound' of the original file.  I've seen the most expensive ones
  144.   reverse the order of note-on's and note-off's, strip out Sysex and
  145.   Text, and generally 'trash' an otherwise good midi file.
  146.  
  147. A known bug in the midisys.dll prevents a song playing if there are too
  148. many SYSEX messages in it!  If multiplay skips to next song, or single
  149. play just stops and the Button shows 'Play', this is what has happened.
  150. If I can find a 'fix' for this, it may be corrected in future upgrades.
  151. The item 'Limit Sysex' in the options menu should be 'checked' so that
  152. files with more than 30 sysex messages will still play.  All the sysex
  153. messages will not be sent (event though Midi Info reports 77 for example).
  154.  
  155. If you run the program as a 'jukebox' in the background, and a program
  156. you are using in the foreground ties up the CPU and Windows, when the
  157. midisys.dll needs more 'music' data to play and can't get it, it will
  158. assume the song is done.  This will cause it to abort and move on to
  159. the next song.  This could happen during a lengthy initialization or
  160. computation mode, and is relatively harmless.  It is not a bug in my
  161. program (which is simply starved for CPU time).
  162.  
  163. ************************************************************************
  164.  
  165. Tempo may be changed during play by Left or Right Clicking in the
  166. tempo display box above the Bar:Beat display and Play Push Button.
  167. Each click changes one BPM faster or slower.  Left Button=Slower etc.
  168. Later revisions will refine this operation.  Nothing is changed in
  169. the midifile, so tempo will return to normal the next time it is
  170. started, or if there are additional tempo changes in the file.
  171.  
  172. Left-Click the Bar:Beat display to Restart any song or use the 'R' key.
  173. Right-Click it to back up to the previous song if in MultiPlay mode.
  174.  
  175.   Note: the Bar:Beat display only 'understands' 4/4 time and doesn't
  176.         change when a 3/4 time or other time signature is played.
  177.         All are treated as though they were 4/4 time with 4 beats
  178.         to a measure.
  179.  
  180. SpaceBar stops playing in MultiPlay mode.  The Enter key will skip to
  181. the next song in MultiPlay mode, which is what a Left-Click on the Next
  182. Button will do.  Either key will Stop/Start a 'single play' song, or
  183. you can click the 'Stop'/'Play' button.
  184.  
  185. If you click the 'Next' button several times, the next few songs will
  186. only 'initialize' and check for errors.  Before they start playing the
  187. next file will be skipped to.  If there are files with errors, they
  188. will stop the operation.  The filename will show in the windows caption
  189. bar.  You may want to write down the filename to move it to a directory
  190. where you store defective files waiting for repair.  Select OK to go
  191. on to next song, or CANCEL to stop multiplay mode.
  192.  
  193. If you Right-Click anywhere to the left of the Button and BBC/Tempo
  194. displays, it will Hide these (useful with karaoke).  A Left-Click
  195. outside the normal area for these will restore them.  While they are
  196. hidden, the mouse will perform the same actions as if they were not!
  197. If the Tempo space is L/R clicked, the tempo will change.  The BBC
  198. area will Restart or Jump to previous Multiplay song.  The Button
  199. area will skip to next song (Multiplay) or start/stop playing, etc.
  200.  
  201. Note: Right or Left Clicking above the Tempo/BBC will NOT work.
  202.       Only the area on the left is 'sensitive' to hide/show Button.
  203.  
  204. A feature which I find indespensible is the ability to automatically
  205. send a GS and/or GM reset before each song is started, to restore
  206. soundcards and midi synths to 'normal' operation which is often
  207. changed by a previous song.  These both default to 'ON' and can be
  208. changed as desired.  Sometimes midi files include one or both of these
  209. messages, but more often do not.  This solves the problems of volume
  210. and expression controllers being turned down and not back up, as well
  211. as restoring normal voices where 'customized' ones have been setup in a
  212. previous file.
  213.  
  214. ************************************************************************
  215.  
  216. Suggested setup when starting the program:
  217.  
  218.    Note: You may use File Manager to associate .mid and .kar file
  219.          extensions with the program.  Then if you double-click a
  220.          .mid or .kar file, the program will automatically start
  221.          playing that file.  You could also drop a filename on the
  222.          .exe name in the File Manager.  You cannot drop a filename
  223.          on the Program's Icon (doesn't accept Drag and Drop).
  224.  
  225.          You can 'install' an Icon in the Program Group of your
  226.          choice and give it a working directory which would
  227.          typically be your favorite midi or karaoke file path.
  228.          You could also include the path and filename you would
  229.          like to start playing automatically, on the Command line
  230.          with a single space after the .exe extension.
  231.  
  232.          Example: C:\MARKMIDI\_SMFKAR4.EXE C:\MIDI_GM\FAVORITE.MID
  233.  
  234. 1. You must select a Midi Device (Midi Mapper or other) when the
  235.    program is run for the first time.  Select the 'Device' you
  236.    normally use to play .mid files with.  If it can't be opened
  237.    you will get the Dialog back again to select another.  The program
  238.    will 'remember' the Device you select in its .ini file.  To select
  239.    a different Device later, edit the .ini file in Notepad and erase
  240.    the Device name, leaving only 'device=' on the line.
  241.  
  242. 2. The program will automatically select the initial Karaoke Word
  243.    Font.  You may change it with the menu item or the 'F' key.
  244.    It is fun to sometimes use full screen mode with a large font!
  245.    The starting font is: New Times Roman BOLD at 28 points.
  246.    If you change Fonts, the new Font will be saved in the .ini file.
  247.  
  248. 3. You are presented with a File Selector Dialog so you may choose a
  249.    midi file or karaoke file.  If you choose the CANCEL button, you
  250.    will see a 'splash' screen about the program and possibly a line
  251.    or two of help info if you have the Menu Bar hidden or Buttons.
  252.  
  253.    Otherwise, select a file in the usual manner.  Anytime a file is
  254.    selected, it is assumed that you want to Play it!  So, the song will
  255.    start playing immediately unless it is defective.  New songs can be
  256.    selected while one is yet playing, and in either Single or Multiplay
  257.    modes.
  258.  
  259.    Note: The single file selector will show both .mid and .kar filenames.
  260.          Once either type is selected, it remembers that file name and
  261.          extension.  To show files with both extensions (.kar and .mid)
  262.          you must erase the filename in the box above the file listing.
  263.          The multi-play selector shows both .kar and .mid anytime it is
  264.          called.  I prefer to rename my .kar files to .mid so they can
  265.          be recognized by any program.  Then I keep Karaoke files in a
  266.          separate directory.  Did you know that you can select multiple
  267.          files to Rename... and enter '*.mid' as the new name (less the
  268.          quotes)? (From the Windows File Manager).
  269.  
  270. 4. When you are comfortable with and understand the 'Hot Keys', you
  271.    can use the 'B' key to hide the Menu Bar and get more Karaoke space
  272.    below the keyboards.  I also suggest using the Maximize Window Button
  273.    to hide the sizing borders.  This also gives more space.  The program
  274.    will 'remember' via its .ini file the status of the Menu Bar and the
  275.    Maximize button, also all the 'options' such as Auto GS Reset, etc.
  276.  
  277.    To redisplay the Menu Bar, simply press the 'B' key again.
  278.  
  279. 5. With long karaoke lines, you may want to hide the Tempo, BBC,
  280.    and Play/Stop/Next Button by Right-Clicking to the left away
  281.    from them anywhere.  Get them back with a Left-Click away from
  282.    their normal display area which is always in lower right corner.
  283.    The status of these (shown or hidden) is also saved in the .ini.
  284.  
  285. ************************************************************************
  286.  
  287.    Hot Keys used to control program operation and various modes:
  288.        (Most items are duplicated in the DropDown Menu Bar)
  289.  
  290. A  Auto GS Reset toggle, sends GS Reset before each song is played.
  291. B  Hide/Show the Menu Bar (Opens more space for Karaoke lines).
  292.    Hiding the Menu Bar also gives a more pleasing display.  All
  293.    important Menu Bar functions are available with 'Hot Keys'.
  294. C  Count In one measure bar, for songs that start on tick zero
  295.    and start too abruptly.
  296. D  If NOT Playing and Karaoke is loaded.  Finds/Displays 1st Page.
  297.    Always use this when stopped and before using the 'U' key.
  298. F  Select a new Karaoke Font and size anytime.  Displays the standard
  299.    Font Select Dialog.  Dialog remembers last Font chosen.  The chosen
  300.    Font is remembered in the .ini and is used the next time program
  301.    is started.
  302. G  Auto GM Reset toggle, sends GM Reset before each song if on.
  303.    GM Reset is different than GS.  Both are included to cover most
  304.    synths and soundcards.
  305. H  Hyphenate words if checked, else moves complete word to next line.
  306.    Words tend to look better when not hyphenated as sometimes only
  307.    a single letter is on a line.
  308. I  Show Midi File Info when a non-Karaoke file is loaded.  Shows the
  309.    actual filename, number of bytes, format, number of tracks, etc.
  310. J  Force 'Show Midi File Info' to overwrite Karaoke Display.  Next
  311.    page of Karaoke will clean up display.  Or press 'N' 2 times.
  312. K  Turns Karaoke ON or OFF.  If turned OFF, Karaoke words will not
  313.    be 'searched for' and only Player Pianos will show.  If ON and
  314.    song has no words, none will be displayed.  If full screen mode
  315.    is selected for Karaoke ('W') which normally hides Pianos, they
  316.    will automatically show when no words are found.
  317. L  If ON (checked) treats newline characters as newpage characters.
  318.    Used to break up long paragraphs with many lines that display
  319.    off screen (until more intelligence is added!).
  320. M  Calls up MultiPlay Dialog-Listbox.  Select-unSelect multiple songs
  321.    to play.  May be called and changed anytime.  Shows .mid/.kar files.
  322. N  If 'L' is off ('L' overrides), newline codes are ignored.
  323.    Appends lines (words) together until display lines are full.
  324.    Karaoke files have NewPage and NewLine codes to try and display
  325.    words, lines, and pages correctly.  Poorly created Karaokes may
  326.    use lines and paragraphs that exceed available display space.
  327. O  Opens Single File Selector. Useful when Menu Bar is hidden with 'B'.
  328.    Use to select a single new song to play anytime.  Use 'M' to
  329.    select multiple songs to play (also anytime).
  330. P  Show info about selected Font (temporary if Karaoke is going).
  331. R  Restart the current song in either Single or MultiPlay modes.
  332.    Sometimes GS/GM Resets do not 'take' or program changes are
  333.    missed due to system timing.  Restarting a song does it all
  334.    again!  Most useful in Multiplay mode.  Also a Left-Click on the
  335.    Bar:Beat display (hidden or not) will restart a song.
  336. S  Limit Sysex toggle.  The midi.dll has a bug or two in dealing with
  337.    SYSEX messages.  Best left checked to limit output of sysex data.
  338. U  If NOT playing and 'D' has been used to display 1st Page, this
  339.    key will page Up through the rest of the Karaoke Pages. Use 'D'
  340.    again to restart from page one.
  341. W  If Karaoke is playing, hides Player Pianos and gives full screen
  342.    for Karaoke display.  A larger font can be used, but needs to return
  343.    to a smaller font for Player Piano mode or words will display
  344.    off bottom of page.  Could try 'L' to limit each page to one
  345.    line of text.  Experiment!
  346. ESC     Instantly quit the program without asking if you want to!
  347. ENTER   Skip to next song in multiplay.  Stop/start song in single play.
  348. SPACE   Stop playing in multiplay.  Start/Stop in single play.
  349.  
  350. ************************************************************************
  351.  
  352. Future enhancements will include the ability to Edit or Repair midi
  353. files, Add Karaoke words to any type of existing file, show Event
  354. and Track Lists, change or add Song Titles, enter midi songs on a
  355. grand staff, and change Presets and Controllers on the fly.  Later
  356. versions will be likely be issued under the Shareware principal.
  357.  
  358. As a 'free' midi and karaoke player, I think the program is far more
  359. entertaining than the Media Player in Windows, and even some of the
  360. midi 'auto' players I have seen posted.  With Multi-play, Auto GS/GM
  361. Resets, and Karaoke display for format 0 and 1 files the program may
  362. prove to be highly useful to the average Midi Song Collector.  It is
  363. even handy to 'screen' bad midi files downloaded from the internet.
  364.  
  365. Your comments are welcomed and appreciated.  Disclaimer: If you decide
  366. to use this program, you do so at your own risk.  I will not be liable
  367. for any damage to your computer system, hardrives, or audio equipment.
  368. Windows is a trademark of Microsoft, Inc.  Sound Canvas is a trademark
  369. of Roland Corporation.
  370.  
  371. This program was written using GFA Basic for Windows.  If you are
  372. interested in receiving 'update' notices, or have ideas, comments or
  373. suggestions, please send me an email.  If the program doesn't run on
  374. your system, I will try to help, but I am not a developer, so I don't
  375. have the resources to 'debug' all possible situations.
  376.  
  377. Email to: mfeaver@s3.sonnet.com (Mark Feaver).
  378.  
  379. P.S.  I would really like to hear from you!  Ideas for a program name?
  380.  
  381. P.S.S.  A big thank you goes out to Paul A. Messick for his fine midi
  382.         processing DLL, the Midi Programmers ToolKit Lite!
  383.  
  384. ************************************************************************
  385.